Personal computer systems are well known in the art. They have attained widespread use for providing computer power to many segments of today's modern society. Personal computers (PCs) may be defined as a desktop, floor standing, or portable microcomputer that includes a system unit having a central processing unit (CPU) and associated volatile and non-volatile memory, including random access memory (RAM) and basic input/output system read only memory (BIOS ROM), a system monitor, a keyboard, one or more flexible diskette drives, a CD-ROM drive, a fixed disk storage drive (also known as a “hard drive”), a pointing device such as a mouse, and an optional network interface adapter. One of the distinguishing characteristics of these systems is the use of a motherboard or system planar to electrically connect these components together. Examples of such personal computer systems are IBM's PC 300 series, Aptiva series, and Intellistation series.
With PCs being increasingly connected into networks to allow transfers of data among computers to occur, more operations such as maintenance, updating of applications, and data collections are occurring over the network. Computer networks are also becoming essential to their users. It is desirable to minimize loss of productivity by increasing availability of network resources. In today's networked world, the availability and performance of the network is as important as the availability and performance of the personal computer.
One known method for managing a networked system is the ability of a computer system to cause a currently powered-off client computer system on the network to power-up. This method is commonly called “Wake-on-LAN” (WOL), and may also be known as remote wake-up. This method permits a server, or any other computer system on the network, to cause a client on the network to power-up by transmitting a WOL (or magic) packet with the appropriate information.
By utilizing WOL, system administrators can more efficiently manage a client-server system by performing automated services such as software downloads, upgrades, maintenance, back-ups, virus scans, etc. during times when end-users are gone and when off-peak loads exist on the network. WOL provides more efficiency for end-users as software maintenance and operations can be performed while they are gone, eliminating delays and reboots. Systems administrators save time with WOL as well by avoiding having to manually turn computers on and off to perform software maintenance, upgrades, etc. Network operations are also improved as bandwidth-hungry applications such as upgrades can be performed when network activity is at a minimum. Network administrators could keep a little used computer in a powered-down state in a remote location, and could use WOL to wake it when needed.
In order to utilize WOL, a server transmits a WOL packet to a computer over a network. The WOL packet is a data packet that contains information identifying it as a WOL command, as well as authentication information. When a computer equipped with WOL functionality receives the WOL packet, it will attempt to turn on. One problem currently encountered by the administrator is that if a remote agent is not active on the computer, the computer will boot from a default bootable image or the last bootable image selected by the user. A bootable image is the operating system or similar application designed to interface with a user directly or via one or more higher-level applications to provide functionality to the user. Thus, someone such as the administrator must manually intervene, or physically go to the location of the computer and interface with the computer to modify the booting sequence, and cause the computer to boot from the desired bootable image.
As an illustration, the administrator may want to run a maintenance diagnostic routine on a logically partitioned system and the maintenance diagnostics may reside in a particular partition dedicated for maintenance. If the remote client is not active when the administrator transmits a WOL packet, the computer boots via a bootable image other than the maintenance partition. The administrator must then physically go to the computer, negating the benefits of remote maintenance capabilities, and change the booting sequence to boot from the maintenance partition or to turn on the remote client.
Further, if the computer does not turn on as a result of a software problem with the currently selected bootable image, the administrator must manually intervene to perform maintenance diagnostics even though the computer may contain diagnostics and repair software to repair the software problem.
Inefficiencies resulting from an inability to remotely select a bootable image are exacerbated when a server must manage a large number of clients. Manual intervention significantly detracts from the efficiency of the administrator for each affected computer. If, for example, an administrator must install an operating system upgrade in fifty computers during the night, and twenty of the computers are set to an incompatible bootable image, time is wasted physically going to or having someone else physically go to the computers to turn them on and either reconfigure the computers to allow remote maintenance or initiate the maintenance locally. Moreover, greater knowledge and control of the client computer systems could allow the server to optimize management of the clients and networks.